/* eslint-disable no-empty-function */
/* eslint-disable max-params */
import {
  YForm,
  YInterception,
  YItemConfig,
  YItemRow,
  YNodesFunction,
} from '../interface';
import ItemConfig from './ItemConfig';
import ItemConfigNode from './ItemConfigNode';
import ItemRow from './ItemRow';
import ItemRowList from './ItemRowList';

type Item = ItemConfig | ItemRow | ItemRowList | ItemText;

export default class ItemText {
  data: string | number | boolean | YNodesFunction;
  nodes: ItemConfigNode | undefined;
  slots: { [key: string]: ItemConfigNode } | undefined;
  next: Item | null = null;
  prev: Item | null = null;

  constructor(
    data: string | number | boolean | YNodesFunction,
    next: Item | null = null,
    prev: Item | null = null,
    public form: YForm
  ) {
    this.data = data;
    this.next = next;
    this.prev = prev;
  }

  getConfig(interception?: YInterception) {
    return this.data;
  }
  setDisabled() {}

  setRequired() {}

  setOptions() {}

  appendConfigBefore() {}

  appendConfigAfter() {}

  removeRow() {}

  appendRowBefore() {}

  appendRowAfter() {}

  getItemConfigs() {}

  getRows() {}

  setBind() {}
}
